import mapData from '@/utils/auth/codeMapData';

/**
 * 快捷获取权限code
 * const { authCode } = new AuthCode('office:orgs:post');
 * authCode('emlist');
 */
export default class AuthCode {
    /**
     * 设置命名空间，例如：'office:orgs'
     * @param namespace
     */
    constructor(namespace) {
        this.namespace = namespace;
    }

    /**
     * 获取权限code
     * @param name  名字
     * @param useNamespace  命名空间，如果要使用全局的，请设置为 false
     * @returns {*}
     */
    authCode = (name, useNamespace = true) => {
        const key = useNamespace ? `${this.namespace}:${name}` : name;
        return mapData[key] ? mapData[key].code : '';
    };
}
